Field of the Disclosure
Embodiments are generally related to graphics processor devices, and more particularly to compiler optimizations to reduce the control flow divergence.
Description of the Related Art
Graphical output for a computer system is generally created using one or more graphics processors. Each graphics processor may include multiple graphics processor cores, and each graphics processor core may include multiple types of resources to perform various types of graphics operations. The various types of graphics operations utilize multiple types of graphics workloads, which each may use different resources within the graphics cores. For computationally intensive workloads, the graphics processor execution units are used extensively.
Graphics hardware often has an array of single instruction multiple data (SIMD) cores that process data in parallel. During operation, the SIMD cores perform a single instruction (e.g., the same operation) on multiple data items in a single SIMD batch. Performing SIMD operations result in memory bandwidth savings by amortizing the instruction fetch bandwidth across the multiple operations. SIMD operation, provided sufficient work items are available to process in parallel, contributes to the power efficiency of GPUs on certain workloads. However, SIMD processing can be less power efficient if the control flow constructs in the executed instructions are divergent.